package com.example.management.system.service


import com.example.management.common.domain.Tree
import com.example.management.system.domain.MenuDO
import org.springframework.stereotype.Service


interface MenuService {

    val tree: Tree<MenuDO>

    fun getSysMenuTree(id: Long?): Tree<MenuDO>

    fun listMenuTree(id: Long?): List<Tree<MenuDO>>

    fun getTree(id: Long?): Tree<MenuDO>

    fun list(params: Map<String, Any>): List<MenuDO>

    fun remove(id: Long?): Int

    fun save(menu: MenuDO): Int

    fun update(menu: MenuDO): Int

    operator fun get(id: Long?): MenuDO

    fun listPerms(userId: Long?): Set<String>
}
